''
''
'' errno -- header translated with help of SWIG FB wrapper
''
'' NOTICE: This file is part of the FreeBASIC Compiler package and can't
''         be included in other distributions without authorization.
''
''
#ifndef __crt_errno_bi__
#define __crt_errno_bi__

#ifdef __FB_DARWIN__
        '' FIXME: Error numbers are completely different on Darwin
#else

        #define EPERM 1
        #define ENOFILE 2
        #define ENOENT 2
        #define ESRCH 3
        #define EINTR 4
        #define EIO 5
        #define ENXIO 6
        #define E2BIG 7
        #define ENOEXEC 8
        #define EBADF 9
        #define ECHILD 10
        #define EAGAIN 11
        #define ENOMEM 12
        #define EACCES 13
        #define EFAULT 14
        #define EBUSY 16
        #define EEXIST 17
        #define EXDEV 18
        #define ENODEV 19
        #define ENOTDIR 20
        #define EISDIR 21
        #define EINVAL 22
        #define ENFILE 23
        #define EMFILE 24
        #define ENOTTY 25
        #define EFBIG 27
        #define ENOSPC 28
        #define ESPIPE 29
        #define EROFS 30
        #define EMLINK 31
        #define EPIPE 32
        #define EDOM 33
        #define ERANGE 34
        #define EDEADLOCK 36
        #define EDEADLK 36
        #define ENAMETOOLONG 38
        #define ENOLCK 39
        #define ENOSYS 40
        #define ENOTEMPTY 41
        #define EILSEQ 42
#endif

extern "C"

#ifdef __FB_WIN32__
	declare function _errno() as long ptr
	#define errno (*_errno())
#elseif defined( __FB_LINUX__ )
	declare function __errno_location() as long ptr
	#define errno (*__errno_location())
#elseif defined( __FB_DARWIN__ )
        declare function __error() as long ptr
        #define errno (*__error())
#else
	extern errno as long
#endif

end extern

#endif
